home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet multimedia / Linux LiveCD / GeeXboX 1.0 EN / geexbox-1.0-en.i386.iso / GEEXBOX / etc / init.d / 50_networking < prev    next >
Text File  |  2006-06-21  |  2KB  |  69 lines

  1. #!/bin/sh
  2. #
  3. # setup the network
  4. #
  5. # runlevels: geexbox, debug
  6.  
  7. echo "### Setting up network ###"
  8.  
  9. # get options
  10. test -f /etc/network || exit 1
  11. . /etc/network
  12. test -z "$HOST" && HOST=0.0.0.0
  13. if [ -x /usr/bin/iwconfig ]; then
  14.   for i in `iwconfig 2>&1 | grep '^[^\ ]' | grep -v '^lo' | cut -f1 -d' '`; do
  15.     ifconfig $i up >/dev/null 2>&1
  16.   done
  17.   WIFI=`iwconfig 2>&1 | grep '^[^\ ]' | grep -v "no wireless extensions" | cut -f1 -d' ' | head -n 1`
  18.   ETH=`iwconfig 2>&1 | grep '^[^\ ]'  | grep -v '^lo' | grep "no wireless extensions" | cut -f1 -d' ' | head -n 1`
  19. else
  20.   ETH=eth0
  21. fi
  22.  
  23. # select device
  24. if test $PHY_TYPE = wifi -o $PHY_TYPE = auto; then
  25.   DEV=$WIFI
  26.   if test -n "$DEV"; then
  27.     test -n "$WIFI_MODE" && iwconfig "$DEV" mode "$WIFI_MODE"
  28.     test -n "$WIFI_ESSID" && iwconfig "$DEV" essid "$WIFI_ESSID"
  29.     test -n "$WIFI_WEP" && iwconfig "$DEV" key "$WIFI_WEP"
  30.   fi
  31. fi
  32. if test $PHY_TYPE = ethernet -o $PHY_TYPE = auto -a -z "$DEV"; then
  33.   DEV=$ETH
  34. fi
  35. test -n "$DEV" || exit 1
  36.  
  37. [ -n "$SUBNET" ] && NETMASK="netmask $SUBNET"
  38.  
  39. # bring interface up
  40. if ifconfig $DEV $HOST $NETMASK >/dev/null 2>&1; then
  41.   if test $HOST = 0.0.0.0; then
  42.     udhcpc -H geexbox -n -i $DEV >/dev/null 2>&1 && NET=yes
  43.     test "$NET" != yes && ifconfig $DEV 192.168.0.54 netmask 255.255.255.0 && NET=yes
  44.   else
  45.     metric=0
  46.     for i in $GATEWAY; do
  47.       route add default gw $i dev $DEV metric $((metric++))
  48.     done
  49.     NET=yes
  50.   fi
  51. fi
  52.  
  53. if test "$UPNP" = "yes"; then
  54.   # bring lo up and add UPnP multicast route
  55.   ifconfig lo 127.0.0.1
  56.   route add -net 239.0.0.0 netmask 255.0.0.0 $DEV
  57. fi
  58.  
  59. # adding DNS server
  60. if [ "$NET" = yes ]; then
  61.   for i in $DNS_SERVER; do
  62.     echo "nameserver $i" >> /etc/resolv.conf
  63.   done
  64. fi
  65.  
  66. test "$NET" = yes || exit 1
  67.  
  68. exit 0
  69.